home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1993 / MacHack 1993.toast / MacHack™ 1987-1992 / MacHack™ '90 / Utilities ƒ / MPW Tools ƒ / Simula4.07 / Simula 4.07ƒ / SInterfaces / toolboxMenu.sim < prev    next >
Encoding:
Text File  |  1989-04-05  |  7.1 KB  |  217 lines  |  [TEXT/MPS ]

  1. % ---------------------------------------------------------------------------
  2. %    Class TOOLBOXMenu
  3. %
  4. % the routines listed in Inside Macintosh chapter ???: Menu manager
  5. % The code has been converted from the file ToolInft.p
  6. % In this module you find the interfaces to procedures concerned with Menus
  7. % in the subclass MACMenu you will find the programmers interface built on 
  8. % top of this interface.
  9. %
  10. % 890317/Boris Magnusson
  11. % 890329/Göran Eriksson
  12. %
  13. % ---------------------------------------------------------------------------
  14. % The main data structure of the menuhandler is:
  15. %
  16. %    MenuPtr = ^MenuInfo;
  17. %    MenuHandle = ^MenuPtr;
  18. %    MenuInfo = RECORD
  19. %                 menuId: INTEGER;
  20. %                 menuWidth: INTEGER;
  21. %                 menuHeight: INTEGER;
  22. %                 menuProc: Handle;
  23. %                 enableFlags: LONGINT;
  24. %                 menuData: Str255;
  25. %                 END;
  26. %
  27. % ---------------------------------------------------------
  28.  
  29. class    ToolboxMenu;
  30. begin
  31.  
  32.  
  33.     external Toolbox procedure X="$A930" is
  34.     PROCEDURE ToolboxInitMenus;;
  35.  
  36.  
  37.     external Toolbox procedure X="$A931" is
  38. %        function NewMenu(menuId: INTEGER; menuTitle: Str255): MenuHandle;
  39.     integer  procedure ToolboxNewMenu(menuId, menuTitle);
  40.         value menuTitle;
  41.         short integer menuId; text menuTitle;;
  42.  
  43.     external Toolbox procedure X="$A9BF" is
  44. %        FUNCTION GetMenu(rsrcID: INTEGER): MenuHandle;
  45.     integer procedure ToolboxGetMenu(rsrcID);
  46.         short integer rsrcID;;
  47.     
  48.     external Toolbox procedure X="$A932" is
  49. %        PROCEDURE DisposeMenu(menu: MenuHandle);
  50.     PROCEDURE ToolboxDisposeMenu(menu);
  51.         integer menu;;
  52.     
  53.     external Toolbox procedure X="$A933" is
  54. %        PROCEDURE AppendMenu(menu: MenuHandle; data: Str255);
  55.     PROCEDURE ToolboxAppendMenu(menu, data);
  56.         value data;
  57.         integer menu; text data;;
  58.         
  59.     external Toolbox procedure X="$A935" is
  60. %        PROCEDURE InsertMenu(menu: MenuHandle; beforeId: INTEGER);
  61.     PROCEDURE ToolboxInsertMenu(menu, beforeId);
  62.         integer menu; short integer beforeId;;
  63.  
  64.     external Toolbox procedure X="$A936" is
  65. %        PROCEDURE DeleteMenu(menuId: INTEGER);
  66.     PROCEDURE ToolboxDeleteMenu(menuId);
  67.         short integer menuId;;
  68.  
  69.     external Toolbox procedure X="$A937" is
  70.         PROCEDURE ToolboxDrawMenuBar;;
  71.  
  72.     external Toolbox procedure X="$A934" is
  73.         PROCEDURE ToolboxClearMenuBar;;
  74.  
  75.     external Toolbox procedure X="$A93B" is
  76. %        FUNCTION GetMenuBar: Handle;
  77.     integer procedure ToolboxGetMenuBar;;
  78.  
  79.     external Toolbox procedure X="$A9C0" is
  80. %        FUNCTION GetNewMBar(menuBarID: INTEGER): Handle;
  81.     integer procedure ToolboxGetNewMBar(menuBarID);
  82.         short integer menuBarID;;
  83.  
  84.     external Toolbox procedure X="$A93C" is
  85. %        PROCEDURE SetMenuBar(menuList: Handle);
  86.     PROCEDURE ToolboxSetMenuBar(menuList);
  87.      integer menuList;;
  88.  
  89.     external Toolbox procedure X="$A93D" is
  90. %        FUNCTION MenuSelect(startPt: Point): LONGINT;
  91.     integer procedure ToolboxMenuSelect(startPt_h,startPt_v);
  92.         short integer startPt_h,startPt_v;;
  93.  
  94.     external Toolbox procedure X="$A93E" is
  95. %        FUNCTION MenuKey(ch: CHAR): LONGINT;
  96.     integer procedure ToolboxMenuKey(ch);
  97.         character ch;;
  98.  
  99.     external Toolbox procedure X="$A938" is
  100. %        PROCEDURE HiliteMenu(menuId);
  101.     PROCEDURE ToolboxHiliteMenu(menuId);
  102.         short integer menuId;;
  103.  
  104.     external Toolbox procedure X="$A947" is
  105. %        PROCEDURE SetItem(menu: MenuHandle; item: INTEGER; itemString: Str255);
  106.     PROCEDURE ToolboxSetItem(menu, item, itemString);
  107.         value itemString;
  108.         integer menu; short integer item;text itemString;;
  109.  
  110.     external Toolbox procedure X="$A946" is
  111. %        PROCEDURE GetItem(menu: MenuHandle; item: INTEGER; VAR itemString: Str255);
  112.     PROCEDURE ToolboxGetItem(menu, item, itemString);
  113.         name itemString;
  114.         integer menu; short integer item;text itemString;;
  115.         
  116.     external Toolbox procedure X="$A939" is
  117. %        PROCEDURE EnableItem(menu: MenuHandle; item: INTEGER);
  118.     PROCEDURE ToolboxEnableItem(menu, item);
  119.         integer menu; short integer item;;
  120.     
  121.  
  122.     external Toolbox procedure X="$A93A" is
  123. %        PROCEDURE DisableItem(menu: MenuHandle; item: INTEGER);
  124.     PROCEDURE ToolboxDisableItem(menu, item);
  125.         integer menu; short integer item;;
  126.  
  127.     external Toolbox procedure X="$A945" is
  128. %        PROCEDURE CheckItem(menu: MenuHandle; item: INTEGER; checked: BOOLEAN);
  129.     PROCEDURE ToolboxCheckItem(menu, item, checked);
  130.         integer menu; short integer item; boolean checked;;
  131.         
  132.     external Toolbox procedure X="$A940" is
  133. %        PROCEDURE SetItemIcon(menu: MenuHandle; item: INTEGER; iconNum: Byte);
  134.     PROCEDURE ToolboxSetItemIcon(menu, item, iconNum);
  135.         integer menu; short integer item; short integer iconNum;;
  136.  
  137.     external Toolbox procedure X="$A93F" is
  138. %        PROCEDURE ToolboxGetItemIcon(menu: MenuHandle; item: INTEGER; VAR iconNum: Byte);
  139.     PROCEDURE ToolboxGetItemIcon(menu, item, iconNum);
  140.         name iconNum;
  141.         integer menu; short integer item; short integer iconNum;;
  142.  
  143.  
  144.     external Toolbox procedure X="$A942" is
  145. %        PROCEDURE SetItemStyle(menu: MenuHandle; item: INTEGER; styleVal: Style);
  146. %    StyleItem     = (bold, italic, underline, outline, shadow, condense, extend);
  147. %    Style         = SET OF StyleItem;
  148.     PROCEDURE ToolboxSetItemStyle(menu, item, styleVal);
  149.         integer menu; short integer item; short integer styleVal;;
  150.  
  151. % ????    PROCEDURE GetItemStyle(menu: MenuHandle; item: INTEGER; VAR styleVal: Style);
  152.  
  153.     external Toolbox procedure X="$A944" is
  154. %        PROCEDURE SetItemMark(menu: MenuHandle; item: INTEGER; markChar: CHAR);
  155.     PROCEDURE ToolboxSetItemMark(menu, item, markChar);
  156.         integer menu; short integer item; character markChar;;
  157.  
  158.     external Toolbox procedure X="$A943" is
  159. %        PROCEDURE GetItemMark(menu: MenuHandle; item: INTEGER; VAR markChar: CHAR);
  160.     PROCEDURE ToolboxGetItemMark(menu, item, markChar);
  161.         name markChar;
  162.         integer menu; short integer item; character markChar;;
  163.  
  164.     external Toolbox procedure X="$A94A" is
  165. %        PROCEDURE SetMenuFlash(flashCount: INTEGER);
  166.     PROCEDURE ToolboxSetMenuFlash(flashCount);
  167.         short integer flashCount;;
  168.  
  169.     external Toolbox procedure X="$A94C" is
  170. %        PROCEDURE FlashMenuBar(menuId: INTEGER);
  171.     PROCEDURE ToolboxFlashMenuBar(menuId);
  172.         short integer menuId;;
  173.  
  174.     external Toolbox procedure X="$A949" is
  175. %        FUNCTION GetMHandle(menuId: INTEGER): MenuHandle;
  176.     integer procedure ToolboxGetMHandle(menuId);
  177.         short integer menuId;;
  178.  
  179.     external Toolbox procedure X="$A950" is
  180. %        FUNCTION CountMItems(menu: MenuHandle): INTEGER;
  181.     short integer procedure ToolboxCountMItems(menu);
  182.         integer menu;;
  183.  
  184.     external Toolbox procedure X="$A94D" is
  185. %        PROCEDURE AddResMenu(menu: MenuHandle; theType: ResType);
  186. %        ResType = PACKED ARRAY [1..4] OF CHAR;
  187.     PROCEDURE ToolboxAddResMenu(menu, theType);
  188.         integer menu; integer theType;;
  189.  
  190.  
  191.     external Toolbox procedure X="$A951" is
  192. %        PROCEDURE InsertResMenu(menu: MenuHandle; theType: ResType;
  193. %                        afterItem: INTEGER);
  194.     PROCEDURE ToolboxInsertResMenu(menu, theType, afterItem);
  195.         integer menu; integer theType; short integer afterItem;;
  196.  
  197.     external Toolbox procedure X="$A948" is
  198. %        PROCEDURE CalcMenuSize(menu: MenuHandle);
  199.     PROCEDURE ToolboxCalcMenuSize(menu);
  200.         integer menu;;
  201.  
  202. %    {new 128K ROM}
  203.  
  204.     external Toolbox procedure X="$A826" is
  205. %        PROCEDURE InsMenuItem(theMenu: MenuHandle; itemString: Str255;
  206. %                    afterItem: INTEGER);
  207.     PROCEDURE ToolboxInsMenuItem(theMenu, itemString, afterItem);
  208.         value itemString;
  209.         integer theMenu; text itemString; short integer afterItem;;
  210.  
  211.  
  212.     external Toolbox procedure X="$A952" is
  213. %        PROCEDURE DelMenuItem(theMenu: MenuHandle; item: INTEGER);
  214.     PROCEDURE ToolboxDelMenuItem(theMenu, item);
  215.         integer theMenu; short integer item;;
  216.  
  217. end;